sqlite 无法备份存储目录中的数据库文件,正在使用空间

您所在的位置:网站首页 sqlite db文件 sqlite 无法备份存储目录中的数据库文件,正在使用空间

sqlite 无法备份存储目录中的数据库文件,正在使用空间

#sqlite 无法备份存储目录中的数据库文件,正在使用空间 | 来源: 网络整理| 查看: 265

我试图备份我的数据库文件到存储目录。但只要我点击保存按钮的应用程序崩溃。说它不能打开数据库。这是DB助手类。

public abstract class DBHelper extends RoomDatabase { private static final String DB_NAME = "MyDatabase"; private static String DB_PATH = "/storage/emulated/0/documents/Expenses.db"; private static DBHelper instance; // public static final String DB_PATH = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/appName/database/" ; public static synchronized DBHelper getDB(Context context) { if (instance == null) { instance = Room.databaseBuilder(context, DBHelper.class, DB_PATH + DB_NAME) .fallbackToDestructiveMigration() .allowMainThreadQueries() .setJournalMode(JournalMode.TRUNCATE) .build(); } return instance; } public abstract ExpenseDao expenseDao(); }

我已经在清单文件中给出了所有权限,所以这不是问题。Logcat错误

2023-01-30 12:11:17.972 10418-10418/com.example.roomlibrary E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.roomlibrary, PID: 10418 android.database.sqlite.SQLiteCantOpenDatabaseException: Cannot open database '/storage/emulated/0/Documentsmnt/sdcard/documents/expenses.dbMyDatabase': Directory /storage/emulated/0/Documentsmnt/sdcard/documents doesn't exist at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:254) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:205) at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:505) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:206) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:198)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3